package com.skillworld.webapp.model.user;

import java.util.List;

import com.skillworld.webapp.model.tutorial.Tutorial;
import com.skillworld.webapp.model.util.dao.GenericDao;

import es.udc.pojo.modelutil.exceptions.InstanceNotFoundException;

public interface UserDao extends GenericDao<User,Long>
{
    public boolean existsByNickname(String nick);
    public boolean existsByFacebookId(String facebookId);
	public List<User> findByNicknamePrefix(String nickPrefix,
	            Long inTeam, Long notInTeam, List<Long> exclude, 
	            int startIndex, int count);
    public long numberOfUsersByNicknamePrefix(String nickPrefix, 
                Long inTeam, Long notInTeam, List<Long> exclude);
	public User findByNickname(String nick) 
	    throws InstanceNotFoundException;
	public User findByFacebookId(String facebookId)
	    throws InstanceNotFoundException;
	public List<User> topUsers(int count);
}
